<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
    <!-- 
        
        组件就是页面中的一部分,页面上的东西细分到最小,我们会发现
        最小的就是一个dom元素
     -->
</head>
<body>
    
    <div id="root"></div>

    <!-- vue实例 -->
    <script>
        const app = Vue.createApp({
            data() {
                return {
                    // list: ['hello','world','dell','lee']
                    list:[],
                    inputValue: ''
                }
            },
            methods: {
                btnAdd: function(){
                    this.list.push(this.inputValue);
                    this.inputValue = ''
                }
            },
            template: `
            <div>
                <input v-model="inputValue"/>
                <button v-on:click="btnAdd" v-bind:title="inputValue">增加</button>
            <ul>
                <todo-item v-for="(item,index) of list" v-bind:content="item" v-bind:index="index"/>
            </ul>
            </div>
            `
        });
        /* 先定义组件,再挂载到结点上面
            我们父组件节点中使用v-bind:content,这样子组件就会感知到
        */
        app.component('todo-item',{
            // 接收父组件绑定在子组件身上的值
            props: ['content','index'],
            data() {
                return {
                    item: 'hello item'
                }
            },
            template: `
            <li>{{index}}--->{{content}}</li>`
             
        });
        app.mount("#root")
    </script>
</body>
</html>